home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / bash_114.zip / bash-1.14.2 / RELEASE < prev    next >
Text File  |  1994-08-18  |  10KB  |  270 lines

  1. This file details the changes between the previous release of bash (1.13.5)
  2. and this release (1.14.0).
  3.  
  4. 1. New Features in Bash
  5.  
  6. a.  The source has been reorganized:  nearly all extern function
  7.     declarations have been moved to header files, function prototypes
  8.     have been added to most header files, function declarations have
  9.     been moved to file scope, dead code has been removed, the
  10.     bash history code has been isolated in bashhist.[ch], and several
  11.     new header files have been created
  12.  
  13. b.  `set -o posix' puts bash into Posix.2 mode
  14.  
  15. c.  If $POSIX_PEDANTIC exists in the initial environment or is assigned
  16.     a value, bash enters Posix.2 mode
  17.  
  18. d.  Bash sets $OSTYPE to a string describing the UNIX version
  19.  
  20. e.  The features.info file was completely rewritten and now reflects
  21.     the current state of things
  22.  
  23. f.  A manual page for readline is in documentation/readline.{3,ps}
  24.  
  25. g.  The test builtin emulates /dev/fd/x for systems without /dev/fd
  26.  
  27. h.  `dirs' has -n and +n options to access members of the directory stack
  28.  
  29. i.  Prompt string expansion handles invisible characters in the prompt;
  30.     \[ and \] are used (and required) to start and end sequences of
  31.     invisible chars
  32.  
  33. j.  NO_PROMPT_VARS has been removed
  34.  
  35. k.  New machine descriptions have been added:  IBM AIX/ESA, NEC EWS, NetBSD,
  36.     FreeBSD, QNX 4.2, concurrent, MIPS SVR4.2, Lynx 2.1
  37.  
  38. l.  RESTRICTED_SHELL is no longer defined by default in config.h
  39.  
  40. m.  The version string in $BASH_VERSION has changed to dist.patch(build)
  41.  
  42. n.  $history_control has been renamed to $HISTCONTROL and now takes the
  43.     value `ignoreboth' ($history_control is still accepted for backwards
  44.     compatibility)
  45.  
  46. o.  There is a new program `bashbug' for reporting bugs.  Eventually I will
  47.     probably switch to gnats.
  48.  
  49. p.  auto_resume can take the values `exact' and `substring'
  50.  
  51. q.  `set -P' (`set -o physical') enables the same physical view of the
  52.     file system that `nolinks' enables (`nolinks' will remain for one
  53.     more release)
  54.  
  55. r.  There is a `mkmachtype' program to generate a GNU-style machine type
  56.     string (e.g., `sparc-sun-sunos4.1.2') suitable for assigning to
  57.     $MACHTYPE
  58.  
  59. s.  The variable $HISTCMD returns the current history number
  60.  
  61. t.  Variables in directory names are now expanded while doing completion
  62.  
  63. u.  The test suite has been expanded and is runnable as a regression test
  64.     with `make tests'
  65.  
  66. v.  `bye' is no longer a builtin synonym for `exit'
  67.  
  68. w.  The ksh `select' control construct has been implemented
  69.  
  70. x.  The `ignoreeof' attribute can be inherited if $IGNOREEOF is exported
  71.  
  72. y.  The `USG-style' echo is now a configuration option.  Define
  73.     DEFAULT_ECHO_TO_USG for default \-interpretation without the -e flag
  74.  
  75. z.  There is a copy of an article I wrote about bash for the Linux
  76.     Journal in documentation/article.{ms,ps}
  77.  
  78. aa. The `pwd' builtin now obeys the setting of `set -o physical' (`nolinks')
  79.  
  80. bb. Process substitution is no longer performed when the shell is in
  81.     `posix mode'
  82.  
  83. cc. Users may change the debugging and optimization flags to cc by specifying
  84.     CFLAGS to make
  85.  
  86. 2. New Features in Readline
  87.  
  88. a.  Readline now understands sequences of invisible characters in the prompt
  89.     string, as long as they are escaped (e.g., by the bash \[ and \] escapes)
  90.  
  91. b.  A `set keymap' variable assignment
  92.  
  93. c.  A `bell-style' variable that can be set to `visible', `audio', or `none'
  94.  
  95. d.  A `show-all-if-ambiguous' variable, which causes non-unique completion
  96.     to immediately list the possible completions
  97.  
  98. e.  An `output-meta' variable to make readline directly output chars
  99.     with the eighth bit set
  100.  
  101. f.  New bindable readline commands: kill-whole-line, tilde-expand,
  102.     vi-redo, vi-tilde-expand, emacs-editing-mode,
  103.     non-incremental-forward-search-history-again,
  104.     non-incremental-reverse-search-history-again
  105.  
  106. g.  New history-search-forward and history-search-backward to search for
  107.     the characters between the start of the current line and point
  108.  
  109. h.  Readline takes the name of the startup file from the INPUTRC variable
  110.     before defaulting to ~/.inputrc
  111.  
  112. i.  isearch no longer finds identical lines multiple times in succession
  113.  
  114. j.  M-C-H bound to backward-kill-word in emacs mode
  115.  
  116. k.  M-~ bound to tilde-expand in emacs mode
  117.  
  118. l.  History expansion is now fully csh-compatible: missing modifiers and
  119.     substitutions have been added, and bugs fixed
  120.  
  121. m.  When asking whether or not to display the possible completions, readline
  122.     now accepts space as equivalent to `y' and rubout for `n'
  123.  
  124. n.  Readline now attempts to find and bind the arrow keys into the vi mode
  125.     movement keymap
  126.  
  127. 3.  Bugs fixed in Bash
  128.  
  129. a.  Portability fixes: `index' and `rindex' are gone completely, many
  130.     OS-specific defines have been replaced with feature-test macros,
  131.     the use of alloca has been reduced, and other platform-specific fixes
  132.     (e.g. cray) have been made
  133.  
  134. b.  The man page has been fixed up and brought up to date
  135.  
  136. c.  Speed improvements: here documents, variable expansion, history
  137.     expansion, command substitution
  138.  
  139. d.  If history is stifled, the history list replaces the history file at
  140.     exit
  141.  
  142. e.  Asynchronous jobs re-run with fc -s now print the job number
  143.  
  144. f.  Output redirections do not perform filename expansion in Posix.2 mode
  145.     when the shell is not interactive
  146.  
  147. g.  operate_and_get_next now works on the most recent line even if the
  148.     history is unstifled
  149.  
  150. h.  $PROMPT_COMMAND execution no longer causes recursive invocations
  151.     of yyparse()
  152.  
  153. i.  An error message is printed if job control initialization fails
  154.  
  155. j.  A command found in $PATH from the temporary environment is not hashed
  156.  
  157. k.  Errors display the name of the script if the shell is not interactive
  158.  
  159. l.  Fixed expression evaluation so blank expressions return 0
  160.  
  161. m.  Fixed a bug that caused SIGINT and SIGQUIT not to be ignored in some
  162.     asynchronous children
  163.  
  164. n.  Pipes used for /dev/fd process substitution are now closed on errors
  165.  
  166. o.  Fixed /dev/null redirection so that ( list ) subshells inherit the
  167.     `stdin-has-been-redirected' flag as in sh
  168.  
  169. p.  Process substitution now works only when unquoted
  170.  
  171. q.  Fixed a bug where the async flag was added inappropriately in a command
  172.     like `a;b;c;d &'
  173.  
  174. r.  Fixed off-by-one bug which caused negative history offsets in `fc' to
  175.     be wrong
  176.  
  177. s.  Shell now remembers mail dates at startup on all systems
  178.  
  179. t.  Posix systems without job control no longer create so many zombies
  180.  
  181. u.  $ENV is now sourced by shells forked to execute scripts without a
  182.     leading `#!' line
  183.  
  184. v.  Non-root users can now use the `unlimited' argument to ulimit and have
  185.     the resource value set to the hard limit
  186.  
  187. w.  Made bash more sh-compatible by assigning the first argument after
  188.     `-c command' to $0
  189.  
  190. x.  Fixed mail checking bug to note that *new* mail has arrived
  191.  
  192. y.  Fixed off-by-one error in mailcheck.c:free_mail_files()
  193.  
  194. z.  Fixed a bug where command strings passed to `bash -c' would be truncated
  195.     after executing the first disk command in the string
  196.  
  197. aa. Fixed a bug which caused redirections passed to executable commands with
  198.     input or output pipes to be closed before the command was executed
  199.  
  200. bb. Fixed a bug which caused bash to search for files supplied on the command
  201.     line in the $PATH if the initial open failed, even if the names contained
  202.     a slash
  203.  
  204. cc. The initial argument parsing was fixed up so that other options can
  205.     be supplied with -c (that is, `sh -ec command' now works as make
  206.     intends), and so `bash -o' lists all the shell options at startup.
  207.  
  208. dd. Error messages are consistently prefixed with the name of the shell
  209.     or shell script when non-interactive.
  210.  
  211. ee. Fixed up a problem with the `read' builtin that occurred when more
  212.     variables than arguments were supplied.
  213.  
  214. ff. Unset the variables passed to `read' as arguments when EOF is
  215.     read from stdin (sh, Posix.2 compatibility).
  216.  
  217. gg. Fixes to the command printing code to make the output of `type'
  218.     available as legal shell input.
  219.  
  220. ii. Fixes so that command completion is attempted after all of the shell
  221.     command separator characters.
  222.  
  223. jj. Fixes to the shell completion code so that it handles quoted characters
  224.     and substrings better.
  225.  
  226. kk. Bash no longer looks through $PATH for a shell script passed as an
  227.     argument if the name contains slashes.
  228.  
  229. ll. Bash now checks that the `name' in a `name[=value]' argument to `declare'
  230.     (and thus `typeset', `export', and `readonly') is a legal shell variable
  231.     name.
  232.  
  233. 4.  Bugs fixed in Readline
  234.  
  235. a.  The ^W and ^U bindings in non-incremental search mode have been changed
  236.     to be closer to what Posix specifies
  237.  
  238. b.  Tries to initialize the keypad to enable the arrow keys
  239.  
  240. c.  Multiple words are now killed and yanked in the right order
  241.  
  242. d.  rl_read_init_file now reads filenames in a more regular order:  the last
  243.     one read, $INPUTRC, then ~/.inputrc
  244.  
  245. e.  yank_nth_arg inserts a space in the right place in vi mode
  246.  
  247. f.  Fixed a bug in the history library that tried to write to a file opened
  248.     O_RDONLY
  249.  
  250. g.  Binding of `0' in vi command mode is now right
  251.  
  252. h.  The VISIBLE_STATS completion listing code now follows symlinks
  253.  
  254. i.  Memory allocated with alloca() is no longer passed to other functions
  255.  
  256. j.  Error messages are now printed for unrecognized history modifiers
  257.  
  258. k.  Fixed a problem with history library and `!#'; now it is more csh-like.
  259.  
  260. l.  Fixed a csh incompatibility in the history library: now only an end of
  261.     line or `?' terminates a ?string history search string.
  262.  
  263. m.  Fixed a problem with readline completion that sometimes caused possible
  264.     matches to be listed one per line when `show-all-if-ambiguous' was set.
  265.  
  266. n.  Fixed a problem in the readline display code that caused divide-by-zero
  267.     errors.
  268.  
  269. o.  Fixed an off-by-one error in the kill ring reallocation code.
  270.